package game;

import org.newdawn.slick.GameContainer;
import org.newdawn.slick.SlickException;
import org.newdawn.slick.state.StateBasedGame;
import states.GameOverState;
import states.GamePlayState;
import states.LoadGameState;
import states.LoadingState;
import states.MainMenuState;



public class Game extends StateBasedGame {


     /**
     * Constructor de la classe game
     * @param titol String que es mostra en la finestra de l'aplicacio
                                                                     */
    public Game(String titol) {
        super(titol);
    }

      /**
     * Aquest metode ha de ser implementat per totes les classes que extenguin de StateBasedGame
     * Indiquem al motor que s'han de carregar els recursos mes tard (EstatLoading)
     * Activem el Manager de recursos per poguer disposar d'imatges i sons
     * Afegim els diferents estats que em creat a la llista pertinent
     * @param container
     * @throws SlickException
     */
    @Override
    public void initStatesList(GameContainer gc) throws SlickException {
          // Es carregaran els recursos en diferit
       // LoadingList.setDeferredLoading(true);
        // S'activa el manager de recursos
       // ManagerRecursos.init();
        // S'afegeixen els diferents estats del jocs
        // Estat amb la intro del joc
        addState(new MainMenuState());
        addState(new LoadingState());
        addState(new GamePlayState());
        addState(new LoadGameState());
        addState(new GameOverState());
    }
     @Override
    public boolean closeRequested() {
        return false;
    }


}
